package com.framework.view.indicator.listener;

import com.framework.view.indicator.BaseIndicatorAdapter;

/**
 * 滑动变化监听
 *
 * @author liangzx
 * @version 1.0
 * @time 2019-12-16 15:35
 **/
public interface OnScrollResultListener {
    /**
     * 正在进入某个位置
     *
     * @param index        正在进入哪个位置
     * @param totalCount   总数
     * @param enterPercent 滑动百分比，完全进入后为1
     * @param leftToRight  是否左到右
     */
    void onEntering(BaseIndicatorAdapter adapter, int index, int totalCount, float enterPercent, boolean leftToRight);

    /**
     * 正在离开某个位置
     *
     * @param index        正在离开哪个位置
     * @param totalCount   总数
     * @param leavePercent 滑动百分比，完全离开后为1
     * @param leftToRight  是否左到右
     */
    void onLeaving(BaseIndicatorAdapter adapter, int index, int totalCount, float leavePercent, boolean leftToRight);

    /**
     * 已选中
     *
     * @param index      选中的位置
     * @param totalCount 总数
     */
    void onSelected(BaseIndicatorAdapter adapter, int index, int totalCount);

    /**
     * 已被移除选中
     *
     * @param index      离开的位置
     * @param totalCount 总数
     */
    void onCancelSelected(BaseIndicatorAdapter adapter, int index, int totalCount);
}